We are migrating the bug tracker to github Issues. This is now the preferred way to report NASM bugs.

Self-registration is disabled due to spam issue (mail gorcunov@gmail.com or hpa@zytor.com to create an account)

Bug 3392592 - Warnings files are not properly depended on in Makefile, stale files remain
Summary: Warnings files are not properly depended on in Makefile, stale files remain
Status: OPEN
Alias: None
Product: NASM
Classification: Unclassified
Component: Assembler (show other bugs)
Version: 2.15.xx
Hardware: All All
: Medium minor
Assignee: nobody
URL:
Depends on:
Blocks:
 
Reported: 2019-08-09 03:22 PDT by E. C. Masloch
Modified: 2019-08-09 03:22 PDT (History)
4 users (show)

Obtained from: Built from git using configure
Generated by: ---
Bug category:
Observed for: ---
Regression: ---
Regression since:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description E. C. Masloch 2019-08-09 03:22:12 PDT
This is the error I am receiving when warnings were built previously, then I checkout the current master head, then build again.

$ git checkout master^
M	autoconf/helpers/config.guess
M	autoconf/helpers/config.sub
HEAD is now at 80ba65e8 msvc.h: Allow building with MSVC versions older than 1700
$ make clean
for d in . stdlib nasmlib output asm disasm x86 common macros test doc nsis rdoff; do \
	rm -f "$d"/*.o "$d"/*.s "$d"/*.i "$d"/*.a ; \
done
rm -f nasm ndisasm
rm -f nasm-*-installer-*.exe
rm -f tags TAGS
rm -f nsis/arch.nsh
rm -f perlbreq.si
rm -f rdoff/rdfdump rdoff/ldrdf rdoff/rdx rdoff/rdflib rdoff/rdf2bin rdoff/rdf2com rdoff/rdf2ith rdoff/rdf2ihx rdoff/rdf2srec
$ make warnings
rm -f asm/warnings.c include/warnings.h doc/warnings.src
make asm/warnings.c include/warnings.h doc/warnings.src
perl -I./perllib -I. ./asm/warnings.pl c asm/warnings.c .
perl -I./perllib -I. ./asm/warnings.pl h include/warnings.h .
make[1]: 'asm/warnings.c' is up to date.
make[1]: 'include/warnings.h' is up to date.
perl -I./perllib -I. ./asm/warnings.pl doc doc/warnings.src .
$ git checkout master
M	autoconf/helpers/config.guess
M	autoconf/helpers/config.sub
Previous HEAD position was 80ba65e8 msvc.h: Allow building with MSVC versions older than 1700
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
$ make
gcc -c  -g -O2 -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -W -Wall -pedantic -Wc90-c99-compat -Wno-long-long -Wno-stringop-truncation -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o asm/nasm.o asm/nasm.c

[snip]

gcc -c  -g -O2 -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -ffunction-sections -fdata-sections -fvisibility=hidden -W -Wall -pedantic -Wc90-c99-compat -Wno-long-long -Wno-stringop-truncation -Wno-shift-negative-value -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o asm/preproc.o asm/preproc.c
asm/preproc.c: In function ‘expand_one_smacro’:
asm/preproc.c:4406:27: error: ‘WARN_MACRO_PARAMS_SINGLE’ undeclared (first use in this function); did you mean ‘WARN_MACRO_PARAMS’?
                 nasm_warn(WARN_MACRO_PARAMS_SINGLE,
                           ^~~~~~~~~~~~~~~~~~~~~~~~
                           WARN_MACRO_PARAMS
asm/preproc.c:4406:27: note: each undeclared identifier is reported only once for each function it appears in
asm/preproc.c: In function ‘is_mmacro’:
asm/preproc.c:4798:15: error: ‘WARN_MACRO_PARAMS_MULTI’ undeclared (first use in this function); did you mean ‘WARN_MACRO_PARAMS’?
     nasm_warn(WARN_MACRO_PARAMS_MULTI,
               ^~~~~~~~~~~~~~~~~~~~~~~
               WARN_MACRO_PARAMS
make: *** [Makefile:80: asm/preproc.o] Error 1
$ 


This can be worked around by doing "make warnings" before "make". However, "make clean" is not sufficient to enable building with "make".